در لینوکس، مدیریت فایلها یکی از مهارتهای پایه و ضروری است. در این جلسه با ابزارهای اصلی ایجاد، لیست کردن، کپی، جابجایی، حذف و ایجاد دایرکتوری آشنا میشویم. همچنین با استفاده از کاراکترهای ویژه (Wildcards) برای جستجوی فایلها با الگوهای خاص آشنا میشویم.
تمام دستورات این جلسه در دایرکتوریهای مختلف قابل اجرا هستند. برای تمرین بهتر، میتوانید یک دایرکتوری تست مثل ~/test بسازید و در آن تمرین کنید.
pwd (Print Working Directory)این دستور مسیر کامل دایرکتوری فعلی شما را نمایش میدهد.
توضیح: این دستور مسیری که در آن هستید را نشان میدهد. در این مثال، کاربر ya3in در دایرکتوری خانه خود (/home/ya3in) قرار دارد.
ls (List)این دستور لیست فایلها و دایرکتوریهای موجود در مسیر جاری را نمایش میدهد.
توضیح: ls بدون گزینه، فقط نام فایلها و دایرکتوریها را در یک خط نمایش میدهد.
ls:
ls -l → نمایش با جزئیات کامل (مجوزها، مالک، اندازه، زمان تغییر)ls -a → نمایش همه فایلها، از جمله فایلهای مخفی (شروع با .)ls -la → ترکیب دو گزینه بالاls -R → نمایش بازگشتی محتویات زیردایرکتوریهاls -lh → نمایش اندازه فایلها به صورت قابل خواندن (Human-readable)echo * برای لیست ساده
دستور echo * هم میتواند لیستی از فایلها و دایرکتوریها را نمایش دهد، اما به شکل سادهتر.
توضیح: echo * نام همه فایلها و دایرکتوریها را در یک خط و با فاصله نمایش میدهد. این روش برای اسکریپتنویسی مفید است.
touch
touch یک فایل خالی ایجاد میکند یا زمان تغییر فایل را بهروز میکند.
توضیح: touch yasin یک فایل خالی به نام yasin در دایرکتوری جاری ایجاد کرد.
با ویرایشگرهایی مانند nano، vim یا gedit میتوانید فایل ایجاد و محتوای آن را ویرایش کنید.
توضیح: nano yasin2 فایل yasin2 را در ویرایشگر nano باز میکند. میتوانید متن خود را وارد کنید و با Ctrl+O ذخیره و با Ctrl+X خارج شوید.
> (Redirection)
با علامت > میتوانید خروجی یک دستور را در یک فایل ذخیره کنید یا یک فایل خالی بسازید.
توضیح: > yasin3 یک فایل خالی به نام yasin3 ایجاد میکند. این روش معادل touch است اما با استفاده از Redirection.
با استفاده از کاراکترهای ویژه میتوانید فایلهایی با الگوهای خاص را پیدا کنید.
*) — هر تعداد کاراکتر
* به معنای صفر یا چند کاراکتر است.
توضیح: *.txt همه فایلهایی که به .txt ختم میشوند را نمایش میدهد.
توضیح: فایلهایی که با c شروع میشوند و به .txt ختم میشوند.
?) — یک کاراکتر
? به معنای دقیقاً یک کاراکتر است.
توضیح: b?t فایلهایی که با b شروع میشوند، با هر کاراکتری در وسط و با t ختم میشوند را نمایش میدهد.
توضیح: b??d فایلهایی که با b شروع میشوند، دو کاراکتر دلخواه در وسط و با d ختم میشوند.
mkdir
mkdir (Make Directory) یک دایرکتوری جدید ایجاد میکند.
توضیح: mkdir file یک دایرکتوری به نام file در دسکتاپ ایجاد کرد.
-p
با گزینه -p میتوانید چندین سطح دایرکتوری را همزمان ایجاد کنید.
توضیح: mkdir -p 1/2/3 سه سطح دایرکتوری 1/2/3 را بهصورت یکجا ایجاد کرد. گزینه -p باعث میشود اگر دایرکتوری والد وجود نداشته باشد، آن را نیز ایجاد کند.
برای دیدن ساختار درختی دایرکتوریها، از دستور tree استفاده کنید. اگر این دستور در سیستم شما نصب نیست، با sudo apt install tree آن را نصب کنید.
cp (Copy)
cp برای کپی کردن فایلها و دایرکتوریها استفاده میشود.
توضیح: cp yasin yasin_copy فایل yasin را با نام yasin_copy کپی میکند.
cp:
cp -r → کپی بازگشتی (برای کپی کردن دایرکتوریها)cp -i → قبل از بازنویسی، از کاربر تأیید میگیردcp -u → فقط فایلهای جدیدتر را کپی میکندcp -v → نمایش جزئیات کپیmv (Move)
mv برای جابجایی یا تغییر نام فایلها و دایرکتوریها استفاده میشود.
توضیح: mv yasin yasinnnn فایل yasin را به yasinnnn تغییر نام میدهد. همچنین میتوانید با mv فایل را به دایرکتوری دیگری جابجا کنید.
دستورات حذف در لینوکس غیرقابل بازگشت هستند. قبل از استفاده از rm، دقت کنید که فایل یا دایرکتوری مورد نظر را اشتباه پاک نکنید.
rm (Remove)
rm برای حذف فایلها و دایرکتوریها استفاده میشود.
توضیح: rm yasin3 فایل yasin3 را حذف میکند.
rm:
rm -r → حذف بازگشتی (برای حذف دایرکتوریها)rm -f → حذف اجباری بدون تأیید (Force)rm -rf → حذف بازگشتی و اجباری (پرکاربرد و خطرناک!)rm -i → قبل از هر حذف، از کاربر تأیید میگیردrmdir
rmdir فقط دایرکتوریهای خالی را حذف میکند.
توضیح: rmdir 1/2/3 دایرکتوری 3 را حذف میکند، اما اگر خالی نباشد، خطا میدهد.
rm -rf *
توضیح: rm -fr * همه فایلها و دایرکتوریهای موجود در دایرکتوری جاری را بهطور کامل حذف میکند. -f (force) باعث میشود بدون تأیید حذف کند و -r (recursive) دایرکتوریها را نیز حذف میکند.
pwd → نمایش مسیر جاریls → لیست فایلها و دایرکتوریهاtouch → ایجاد فایل خالیnano / vim → ویرایش فایل> → ایجاد فایل با Redirectionmkdir → ایجاد دایرکتوریcp → کپی کردنmv → جابجایی یا تغییر نامrm → حذف فایلrmdir → حذف دایرکتوری خالیrm -rf → حذف کامل (با احتیاط!)* و ? → کاراکترهای ویژه برای جستجو